1. Field of the Invention
The invention relates to the use of computing resources in virtualized environments. More particularly, the invention relates to the caching of computing resources among virtual machines in a virtualized environment.
2. Description of the Related Art
Quality of Service (QoS) is becoming more and more important in virtualized environments where there are multiple virtual machines (VMs) competing for a finite amount of computing resources. When caching or tiering is implemented in a virtualized environment, QoS plays an even more crucial role. Caching is a process whereby information, such as processing instructions and data, is stored in temporary locations that are more readily and quickly accessible by the processor or controller (or virtual controller in virtualized environments). Tiering involves storing data in different types of data storage locations and device depending on the type of data being stored. Both caching and tiering allow processing to be more efficient, thus improving computing speeds.
In virtualized environments, cache resources, tiering resources and single route input/output virtualization (SR-IOV) resources are limited, and therefore should be used in an efficient manner to satisfy the IO requirements of all VMs in the virtualized environment. In conventional virtualized environments, there is little if any regard for QoS as it relates to caching or tiering processes. In conventional virtualized environments, when multiple VMs are cached or tiered, all VMs have equal priority and thus all VMs go through the same cache or tiering process to access information. Such arrangement often is inefficient because each VM has its own purpose. For example, some VMs, such as exchange VMs, require a relatively accelerated input/output (IO) throughput, while other VMs do not require a relatively high IO throughput.